package com.pay.domain.order.service;

import com.pay.domain.order.model.entity.PayOrderEntity;
import com.pay.domain.order.model.entity.ShopCartEntity;

import java.util.List;

public interface IOrderService {
    /**
     * 创建支付订单
     * @param shopCartEntity
     * @return
     * @throws Exception
     */
    PayOrderEntity createOrder(ShopCartEntity shopCartEntity) throws Exception;
    
    /**
     * 更改订单状态为支付成功
     * @param orderId
     */
    void changeOrderPaySuccess(String orderId);
    
    /**
     * 获取没有支付的订单
     * @return
     */
    List<String> queryNoPayNotifyOrder();
    
    /**
     * 获取超时的订单
     * @return
     */
    List<String> queryTimeoutCloseOrderList();
    
    /**
     * 关单的处理
     * @param orderId
     * @return
     */
    boolean changeOrderClose(String orderId);
}
